$(function () {

    //导航栏hover展开下拉
    $('.dropdown').hover(function () {
        $(this).parent().find('.dropdown-nav').show();
        $(this).attr('data-status',1);
    },function () {
        $(this).parent().find('.dropdown-nav').hide();
        $(this).removeAttr('data-status');
    });

    //返回顶部图标显示隐藏
    $(window).scroll(function() {
        // 获取窗口的滚动条的垂直滚动距离
        var s = $(window).scrollTop();
        // 当窗口的滚动条的垂直距离大于页面的最小高度时，让返回顶部图标渐现，否则渐隐
        if (s > 0) {
            $(".return-top").fadeIn(500);
        } else {
            $(".return-top").fadeOut(500);
        }
    });

    //点击返回顶部
    $('.return-top').on('click',function () {
        animateReturnTop(window, 0);
    });

    function animateReturnTop(obj, target, callback) {
        // console.log(callback);  callback = function() {}  调用的时候 callback()

        // 先清除以前的定时器，只保留当前的一个定时器执行
        clearInterval(obj.timer);
        obj.timer = setInterval(function() {
            // 步长值写到定时器的里面
            // 把我们步长值改为整数 不要出现小数的问题
            // var step = Math.ceil((target - obj.offsetLeft) / 10);
            var step = (target - window.pageYOffset) / 10;
            step = step > 0 ? Math.ceil(step) : Math.floor(step);
            if (window.pageYOffset == target) {
                // 停止动画 本质是停止定时器
                clearInterval(obj.timer);
                // 回调函数写到定时器结束里面
                // if (callback) {
                //     // 调用函数
                //     callback();
                // }
                callback && callback();
            }
            // 把每次加1 这个步长值改为一个慢慢变小的值  步长公式：(目标值 - 现在的位置) / 10
            // obj.style.left = window.pageYOffset + step + 'px';
            window.scroll(0, window.pageYOffset + step);
        }, 15);
    }

});
